<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Django 1.0.2 release notes &mdash; Django 1.7.8.dev20150401230226 documentation</title>
    
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '1.7.8.dev20150401230226',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="Django 1.7.8.dev20150401230226 documentation" href="../index.html" />
    <link rel="up" title="Release notes" href="index.html" />
    <link rel="next" title="Django 1.0.1 release notes" href="1.0.1.html" />
    <link rel="prev" title="Django 1.1 release notes" href="1.1.html" />



 
<script type="text/javascript" src="../templatebuiltins.js"></script>
<script type="text/javascript">
(function($) {
    if (!django_template_builtins) {
       // templatebuiltins.js missing, do nothing.
       return;
    }
    $(document).ready(function() {
        // Hyperlink Django template tags and filters
        var base = "../ref/templates/builtins.html";
        if (base == "#") {
            // Special case for builtins.html itself
            base = "";
        }
        // Tags are keywords, class '.k'
        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
             var tagname = $(elem).text();
             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
                 var fragment = tagname.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
             }
        });
        // Filters are functions, class '.nf'
        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
             var filtername = $(elem).text();
             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
                 var fragment = filtername.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
             }
        });
    });
})(jQuery);
</script>


  </head>
  <body>

    <div class="document">
  <div id="custom-doc" class="yui-t6">
    <div id="hd">
      <h1><a href="../index.html">Django 1.7.8.dev20150401230226 documentation</a></h1>
      <div id="global-nav">
        <a title="Home page" href="../index.html">Home</a>  |
        <a title="Table of contents" href="../contents.html">Table of contents</a>  |
        <a title="Global index" href="../genindex.html">Index</a>  |
        <a title="Module index" href="../py-modindex.html">Modules</a>
      </div>
      <div class="nav">
    &laquo; <a href="1.1.html" title="Django 1.1 release notes">previous</a>
     |
    <a href="index.html" title="Release notes" accesskey="U">up</a>
   |
    <a href="1.0.1.html" title="Django 1.0.1 release notes">next</a> &raquo;</div>
    </div>

    <div id="bd">
      <div id="yui-main">
        <div class="yui-b">
          <div class="yui-g" id="releases-1.0.2">
            
  <div class="section" id="s-django-1-0-2-release-notes">
<span id="django-1-0-2-release-notes"></span><h1>Django 1.0.2 release notes<a class="headerlink" href="#django-1-0-2-release-notes" title="Permalink to this headline">¶</a></h1>
<p>Welcome to Django 1.0.2!</p>
<p>This is the second &#8220;bugfix&#8221; release in the Django 1.0 series,
improving the stability and performance of the Django 1.0 codebase. As
such, Django 1.0.2 contains no new features (and, pursuant to
<a class="reference internal" href="../misc/api-stability.html"><em>our compatibility policy</em></a>, maintains backwards compatibility with Django
1.0.0), but does contain a number of fixes and other
improvements. Django 1.0.2 is a recommended upgrade for any
development or deployment currently using or targeting Django 1.0.</p>
<div class="section" id="s-fixes-and-improvements-in-django-1-0-2">
<span id="fixes-and-improvements-in-django-1-0-2"></span><h2>Fixes and improvements in Django 1.0.2<a class="headerlink" href="#fixes-and-improvements-in-django-1-0-2" title="Permalink to this headline">¶</a></h2>
<p>The primary reason behind this release is to remedy an issue in the
recently-released Django 1.0.1; the packaging scripts used for Django
1.0.1 omitted some directories from the final release package,
including one directory required by <tt class="docutils literal"><span class="pre">django.contrib.gis</span></tt> and part of
Django&#8217;s unit-test suite.</p>
<p>Django 1.0.2 contains updated packaging scripts, and the release
package contains the directories omitted from Django 1.0.1. As such,
this release contains all of the fixes and improvements from Django
1.0.1; see <a class="reference internal" href="1.0.1.html"><em>the Django 1.0.1 release notes</em></a> for
details.</p>
<p>Additionally, in the period since Django 1.0.1 was released:</p>
<ul class="simple">
<li>Updated Hebrew and Danish translations have been added.</li>
<li>The default <tt class="docutils literal"><span class="pre">__repr__</span></tt> method of Django models has been made more
robust in the face of bad Unicode data coming from the
<tt class="docutils literal"><span class="pre">__unicode__</span></tt> method; rather than raise an exception in such
cases, <tt class="docutils literal"><span class="pre">repr()</span></tt> will now contain the string &#8220;[Bad Unicode data]&#8221;
in place of the invalid Unicode.</li>
<li>A bug involving the interaction of Django&#8217;s <tt class="docutils literal"><span class="pre">SafeUnicode</span></tt> class
and the MySQL adapter has been resolved; <tt class="docutils literal"><span class="pre">SafeUnicode</span></tt> instances
(generated, for example, by template rendering) can now be assigned
to model attributes and saved to MySQL without requiring an explicit
intermediate cast to <tt class="docutils literal"><span class="pre">unicode</span></tt>.</li>
<li>A bug affecting filtering on a nullable <tt class="docutils literal"><span class="pre">DateField</span></tt> in SQLite has
been resolved.</li>
<li>Several updates and improvements have been made to Django&#8217;s
documentation.</li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      
        
          <div class="yui-b" id="sidebar">
            
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Django 1.0.2 release notes</a><ul>
<li><a class="reference internal" href="#fixes-and-improvements-in-django-1-0-2">Fixes and improvements in Django 1.0.2</a></li>
</ul>
</li>
</ul>

  <h3>Browse</h3>
  <ul>
    
      <li>Prev: <a href="1.1.html">Django 1.1 release notes</a></li>
    
    
      <li>Next: <a href="1.0.1.html">Django 1.0.1 release notes</a></li>
    
  </ul>
  <h3>You are here:</h3>
  <ul>
      <li>
        <a href="../index.html">Django 1.7.8.dev20150401230226 documentation</a>
        
          <ul><li><a href="index.html">Release notes</a>
        
        <ul><li>Django 1.0.2 release notes</li></ul>
        </li></ul>
      </li>
  </ul>

  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/releases/1.0.2.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
              <h3>Last update:</h3>
              <p class="topless">Apr 02, 2015</p>
          </div>
        
      
    </div>

    <div id="ft">
      <div class="nav">
    &laquo; <a href="1.1.html" title="Django 1.1 release notes">previous</a>
     |
    <a href="index.html" title="Release notes" accesskey="U">up</a>
   |
    <a href="1.0.1.html" title="Django 1.0.1 release notes">next</a> &raquo;</div>
    </div>
  </div>

      <div class="clearer"></div>
    </div>
  </body>
</html>